Method for obtaining information about service chain in cloud computing system and apparatus

ABSTRACT

The present disclosure provides a method for obtaining information about a service chain in a cloud computing system and an apparatus. In the method, a service control proxy apparatus may interact with a service chain decision network element to receive a path forwarding identifier that is of a path used to transmit data of a service in a mobile network and that is sent by the service chain decision device; interact with an NFVO to obtain an address of a virtual controller; then interact with the virtual controller to obtain information about a physical service chain from the virtual controller; and send the information about the physical service chain to the service chain decision device. In this way, the service data can be routed according to the information about the service chain of the service data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/CN2016/089926, filed on Jul. 13, 2016, which claims priority toChinese Patent Application No. 201510583291.6, filed on Sep. 14, 2015.The disclosures of the aforementioned applications are herebyincorporated by reference in their entireties.

TECHNICAL FIELD

The present application relates to cloud computing technologies, and inparticular, to a method for obtaining information about a service chainin a cloud computing system and an apparatus.

BACKGROUND

In network functions virtualization (NFV), a general-purpose hardwaredevice and a virtualization technology are used to fulfill a function ofa dedicated device in a conventional network, so as to reduce highdeployment costs of the dedicated device. Software is not bound todedicated hardware, so that a function of a network device no longerdepends on the dedicated hardware. In addition, cloud computing is used,so that resources can be shared fully and flexibly, new services can berapidly developed and deployed, and automatic deployment, auto scaling,fault isolation, fault self-recovery, and the like can be implementedbased on an actual service requirement. In an NFV architecture, a partythat receives an instantiation request and performs instantiationprocessing on a corresponding service (deploys the service) according tothe request is referred to as a virtualization service provider (serviceprovider for short), and a party that initiates the instantiationrequest is referred to as a service requester.

A virtualized network service (NS) in NFV may be, for example, an IPmultimedia subsystem (IMS) network service, or an evolved packet core(EPC) service. One NS may include several virtualized network function(VNF) modules, which are also referred to as virtualized networkelements. A VNF is a software implementation of a network function thatmay be deployed in an NFV infrastructure. During virtualizationdeployment of an NS, a service requester first needs to submit networkservice descriptor (NSD) to a service provider. The NSD mainly describesa topology of the network service and descriptor of included VNFs (VNFdescriptor, VNFD). In addition, the service requester further needs tosubmit information about forwarding paths of the service among the VNFs(VNF forwarding graph, VNFFG) to the service provider.

For path allocation to a data flow of a mobile network in the prior art,refer to a diagram of a network architecture shown in FIG. 1. A PCRF 102learns a current network status of a subscriber according tosubscription data of the subscriber in a subscriber database 101 byusing a gateway 103, selects a logical service chain, and sends anidentifier of the selected logical service chain to a traffic controller104. The traffic controller 104 sends a request to a service controller106 according to the identifier of the selected logical service chain,to obtain an identifier of a physical service chain. After receiving therequest of the traffic controller 104, the service controller 106obtains, from a service manager 105, information about the logicalservice chain corresponding to the identifier of the logical servicechain, and allocates actual physical network elements 108 according tothe returned information about the logical service chain.

For example, information about a logical service chain corresponding toa path forwarding identifier: video optimization sequentially includes aTCP proxy, a video cache, and a NAT. The TCP proxy selected by theservice controller is a physical network element whose IP address is10.10.1.1. The video cache selected by the service controller is aphysical network element whose IP address is 10.10.2.2. The NAT selectedby the service controller is a physical network element whose IP addressis 10.10.4.4. In addition, the service controller generates informationabout a physical service chain, allocates an identifier of the physicalservice chain to the physical service chain, generates a routing andforwarding table by using the IP addresses of the allocated actualphysical devices and the identifier of the physical service chain, andsends the generated routing and forwarding table to a correspondingrouter for configuration by the router. The routing and forwarding tableis shown in Table 1.

TABLE 1 Physical service chain identifier Rank Next-hop address 10 310.10.1.1 10 2 10.10.2.2 10 1 10.10.4.4

In addition, the service controller further sends the generated routingand forwarding table to the traffic controller. Therefore, afterreceiving data, the traffic controller adds the identifier of thephysical service chain and a sequence in the physical service chain tothe data, and sends the data to the router. The router determines aroute according to the stored routing and forwarding table and theidentifier of the physical service chain and the sequence in thephysical service chain that are added to the data.

It can be learned from above that, a traffic controller applies to aservice controller for a configuration requirement of a physical servicechain of a service in an existing mobile network. In the existing mobilenetwork, a service controller that interacts with a traffic controlleris configured in advance for the traffic controller. However, based onan existing cloud computing system, for example, in an NFV architecture,a policy and charging rules function (PCRF), a gateway (GW), a trafficcontroller, and another network element device all run on virtualizednetwork elements, that is, VNFs. The VNFs all run in virtual machines,and a network functions virtualization infrastructure (NFVI) providesvirtual resources. The virtual resources provided to the VNFs by theNFVI include a virtual computing resource, a virtual storage resource, avirtual network resource, and the like. The virtual network resourceincludes a virtual network connection provided by a virtual switch(vSwitch) and route control provided by a service controller (forexample, an SDN controller). However, in the existing NFV architecture,the VNF virtualized network elements are all managed by a virtual switchand communicate with the virtual switch. A software-defined networking(SDN) controller manages multiple virtual switches. In addition, in anNFV-based architecture, a virtual switch and a virtual controller formanaging a VNF network element are not permanently configured for theVNF network element.

Therefore, a service chain cannot be allocated to a service in a mobilenetwork in the existing NFV architecture. Consequently, a networkelement for implementing the service in the mobile network cannot obtaininformation about a service chain for transmitting service data, andtherefore, the service data cannot be routed.

SUMMARY

The present disclosure provides a method for obtaining information abouta service chain in a cloud computing system and an apparatus, so as toresolve a prior-art problem that a service chain cannot be allocated toa service in a mobile network in an existing NFV architecture, andtherefore, service data cannot be routed.

According to an aspect, an embodiment of the present disclosure providesa method for obtaining information about a service chain in a cloudcomputing system. The method is performed by a service control proxyapparatus added to an NFV system, and the service control proxyapparatus implements interaction with a service chain decision deviceand a virtual controller. For example, after receiving a path forwardingidentifier that is of a path used to transmit service data and that issent by the service chain decision device, the service control proxyapparatus interacts with an NFVO to obtain information that is about apath instance and that corresponds to the path forwarding identifier.The information about the path instance includes an identifier of thepath instance, an address of each node in the path, and a rank of eachnode in the path. The service control proxy apparatus obtains, accordingto the obtained identifier of the path instance, an address that is ofthe virtual controller and that corresponds to the identifier of thepath instance, and obtains an identifier of a physical service chainfrom the virtual controller according to the address of the virtualcontroller, the address of each node in the path, and the rank of eachnode in the path. Then, the service control proxy apparatus sendsinformation about the physical service chain to the service chaindecision device.

In a possible design, the service control proxy apparatus sends a pathinstance allocation request message to the network functionsvirtualization orchestrator NFVO, and receives the information that isabout the path instance selected by the NFVO according to the pathforwarding identifier and that is returned by the NFVO.

In another possible design, when receiving the information that is aboutthe path instance and that is returned by the NFVO, the service controlproxy apparatus also receives information that is about a virtualizedinfrastructure manager VIM managing the path instance and that is sentby the NFVO. The service control proxy apparatus sends, to the NFVO, arequest that is for obtaining an address of a virtual controller andthat includes the identifier of the path instance and the informationabout the VIM, so that the NFVO obtains, from the VIM according to theinformation about the VIM, the address that is of the virtual controllerand that corresponds to the identifier of the path instance.

In another possible design, when receiving the information that is aboutthe path instance and that is returned by the NFVO, the service controlproxy apparatus also receives information that is about a virtualizedinfrastructure manager VIM managing the path instance and that is sentby the NFVO. The service control proxy apparatus sends, to the NFVO, arequest that is for obtaining an address of a virtual controller andthat includes the address of each node in the path, the rank of eachnode in the path, and the information about the VIM, so that the NFVOobtains, from the VIM according to the information about the VIM, theaddress that is of the virtual controller and that corresponds to theidentifier of the path instance, where the identifier of the pathinstance corresponds to the address of each node in the path and therank of each node in the path.

In another possible design, the service control proxy apparatus sends,to the NFVO, a request that is for obtaining an address of a virtualcontroller and that includes the identifier of the path instance, sothat the NFVO obtains, according to the identifier of the path instance,information about a VIM managing the path instance, and obtains, fromthe VIM, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance.

In another possible design, the service control proxy apparatus sends,to the NFVO, a request that is for obtaining an address of a virtualcontroller and that includes the address of each node in the path andthe rank of each node in the path, so that the NFVO obtains, accordingto the address of each node in the path and the rank of each node in thepath, information about a VIM managing the path instance, and obtains,from the VIM, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance, where the identifierof the path instance corresponds to the address of each node in the pathand the rank of each node in the path.

In another possible design, the service control proxy apparatus sends,to the virtual controller according to the address of the virtualcontroller, a physical service chain identifier obtaining request thatcarries the address of each node in the path and the rank of each nodein the path, so that the virtual controller generates an identifier of aphysical service chain according to the address of each node in the pathand the rank of each node in the path, and returns the identifier of thephysical service chain to the service control proxy apparatus.

According to another aspect, an embodiment of the present disclosureprovides a processing method of an NFVO in a process of obtaininginformation about a service chain. Specifically, after receiving a pathinstance allocation request message that is sent by a service controlproxy apparatus and that includes a path forwarding identifier, the NFVOselects a path instance according to the path forwarding identifier, andreturns, to the service control proxy apparatus, information that isabout the path instance and that includes an identifier that is of thepath instance and that corresponds to the path forwarding identifier, anaddress of each node in the path, and a rank of each node in the path.Then, the NFVO obtains an address of a virtual controller from a VIMaccording to a request that is for obtaining an address of a virtualcontroller, that is sent by the service control proxy apparatus, andthat includes the identifier of the path instance, or according to anaddress obtaining request that carries the address of each node in thepath and the rank of each node in the path, and provides the address ofthe virtual controller to the service control proxy apparatus, so thatthe service control proxy apparatus can obtain, from the virtualcontroller according to the address of the virtual controller, anidentifier that is of a physical service chain and that is generated bythe virtual controller according to the address of each node in the pathand the rank of each node in the path.

In a possible design, when sending the information about the pathinstance, the NFVO may also send information about the VIM managing thepath instance to the service control proxy apparatus, where the requestthat is for obtaining an address of a virtual controller and that isreceived by the NFVO further carries the information about the VIMmanaging the path instance. The NFVO directly sends the request forobtaining an address of a virtual controller to the VIM according to theinformation about the VIM.

In a possible design, if the request for obtaining an address of avirtual controller does not include information about the VIM managingthe path instance, the NFVO further obtains, according to the identifierthat is of the path instance and that is included in the request forobtaining an address of a virtual controller, the information about theVIM managing the selected path instance, and sends, according to theobtained information about the VIM, the request for obtaining an addressof a virtual controller to the VIM managing the path instance.

In a possible design, the NFVO further receives a service chain decisiondevice instantiation request that carries an identifier of a VNFdescriptor VNFD of a service chain decision device, obtains the VNFDaccording to the identifier of the VNFD, then determines, according tothe VNFD, that the VNFD includes a requirement for a service controlproxy apparatus, and then sends the service chain decision deviceinstantiation request to a selected VNFM that includes a service controlproxy apparatus.

In a possible design, the NFVO further receives a service chain decisiondevice instantiation request that carries an identifier of a VNFdescriptor VNFD of a service chain decision device, obtains the VNFDaccording to the identifier of the VNFD, then determines, according tothe VNFD, that the VNFD includes a requirement for a service controlproxy apparatus, then selects, for the service chain decision device, aservice control proxy apparatus and a VNFM that does not include aservice control proxy apparatus, and sends the service chain decisiondevice instantiation request to the selected VNFM that does not includea service control proxy apparatus. An identifier of the selected servicecontrol proxy apparatus is used to instruct the VNFM to configure, afterthe service chain decision device is instantiated, an address of theservice control proxy apparatus for an instance of the service chaindecision device according to the identifier of the service control proxyapparatus.

According to another aspect, an embodiment of the present disclosureprovides a service control proxy apparatus, including a receiving unit,an obtaining unit, and a sending unit. The receiving unit is configuredto receive a path forwarding identifier that is of a path used totransmit service data and that is sent by a service chain decisiondevice. The obtaining unit is configured to: obtain information that isabout a path instance and that corresponds to the path forwardingidentifier, where the information about the path instance includes anidentifier of the path instance, an address of each node in the path,and a rank of each node in the path; obtain an address that is of avirtual controller and that corresponds to the identifier of the pathinstance; and obtain an identifier of a physical service chain from thevirtual controller according to the address of the virtual controller,the address of each node in the path, and the rank of each node in thepath. The sending unit is configured to send information about thephysical service chain to the service chain decision device, where theinformation about the physical service chain includes the identifier ofthe physical service chain, the address of each node in the path, andthe rank of each node in the path, and the information about thephysical service chain is used to instruct to route and forward theservice data.

According to another aspect, an embodiment of the present disclosureprovides a network functions virtualization orchestrator NFVO, includinga receiving unit and a sending unit. The receiving unit is configured toreceive a path instance allocation request message that is sent by aservice control proxy apparatus, where the path instance allocationrequest message carries the path forwarding identifier. The sending unitis configured to return information about a path instance to the servicecontrol proxy apparatus, where the information about the path instanceincludes an identifier that is of the path instance and that correspondsto the path forwarding identifier, an address of each node in the path,and a rank of each node in the path. In addition, the receiving unit isfurther configured to receive a request that is for obtaining an addressof a virtual controller and that is sent by the service control proxyapparatus, where the request for obtaining an address of a virtualcontroller carries the identifier of the path instance. The sending unitis further configured to send the request for obtaining an address of avirtual controller to a virtualized infrastructure manager VIM managingthe path instance indicated by the identifier of the path instance.Further, the receiving unit is configured to receive an address of avirtual controller that is returned by the VIM. The sending unit isfurther configured to send the address of the virtual controller to theservice control proxy apparatus, where the address of the virtualcontroller is used to indicate the virtual controller that provides anidentifier of a physical service chain according to the address of eachnode in the path and the rank of each node in the path.

According to another aspect, an embodiment of the present disclosureprovides a network element, including: a memory, configured to storecomputer executable program code; a transceiver; and a processor,coupled to the memory and the transceiver.

The program code includes an instruction. When the processor executesthe instruction, the instruction enables the network element to performthe following operations: receiving a path forwarding identifier that isof a path used to transmit service data and that is sent by a servicechain decision device; obtaining information that is about a pathinstance and that corresponds to the path forwarding identifier, wherethe information about the path instance includes an identifier of thepath instance, an address of each node in the path, and a rank of eachnode in the path; obtaining an address that is of a virtual controllerand that corresponds to the identifier of the path instance; obtainingan identifier of a physical service chain from the virtual controlleraccording to the address of the virtual controller, the address of eachnode in the path, and the rank of each node in the path; and sendinginformation about the physical service chain to the service chaindecision device, where the information about the physical service chainincludes the identifier of the physical service chain, the address ofeach node in the path, and the rank of each node in the path, and theinformation about the physical service chain is used to instruct toroute and forward the service data.

According to another aspect, an embodiment of the present disclosureprovides a network element, including: a memory, configured to storecomputer executable program code; a transceiver; and a processor,coupled to the memory and the transceiver.

The program code includes an instruction. When the processor executesthe instruction, the instruction enables the network element to performthe following operations: receiving a path instance allocation requestmessage that is sent by a service control proxy apparatus, where thepath instance allocation request message carries the path forwardingidentifier; returning information about a path instance to the servicecontrol proxy apparatus, where the information about the path instanceincludes an identifier that is of the path instance and that correspondsto the path forwarding identifier, an address of each node in the path,and a rank of each node in the path; receiving a request that is forobtaining an address of a virtual controller and that is sent by theservice control proxy apparatus, where the request for obtaining anaddress of a virtual controller carries the identifier of the pathinstance; sending the request for obtaining an address of a virtualcontroller to a virtualized infrastructure manager VIM managing the pathinstance indicated by the identifier of the path instance; receiving anaddress of a virtual controller that is returned by the VIM; and sendingthe address of the virtual controller to the service control proxyapparatus, where the address of the virtual controller is used toindicate the virtual controller that provides an identifier of aphysical service chain according to the address of each node in the pathand the rank of each node in the path.

According to still another aspect, an embodiment of the presentdisclosure provides a computer storage medium, configured to store acomputer software instruction used by the foregoing service controlproxy apparatus, where the computer software instruction includes aprogram designed for executing the foregoing aspect.

According to yet another aspect, an embodiment of the present disclosureprovides a computer storage medium, configured to store a computersoftware instruction used by the foregoing NFVO, where the computersoftware instruction includes a program designed for executing theforegoing aspect.

It can be learned from the foregoing solutions that, in the embodimentsof the present disclosure, a service control proxy apparatus mayinteract with a service chain decision network element to receive a pathforwarding identifier that is of a path used to transmit data of aservice in a mobile network and that is sent by the service chaindecision device; interact with an NFVO to obtain an address of a virtualcontroller; then interact with the virtual controller to obtaininformation about a physical service chain from the virtual controller;and send the information about the physical service chain to the servicechain decision device. In this way, in a cloud computing system,information about a service chain is provided to implement transmissionof service data of a service in a mobile network, so that the servicedata can be routed according to the information about the service chainof the service data.

BRIEF DESCRIPTION OF DRAWINGS

Features of the present disclosure are described by using non-limitativeembodiments and with reference to the accompanying drawings.

FIG. 1 is a diagram of an existing network architecture for implementinga service in a mobile network;

FIG. 2 is a diagram of a network architecture for functionvirtualization of a mobile network according to an embodiment of thepresent disclosure;

FIG. 3 is a flowchart of a method for obtaining information about aservice chain according to an embodiment of the present disclosure;

FIG. 4 is a flowchart of storing a VNF descriptor of a trafficcontroller according to an embodiment of the present disclosure;

FIG. 5 is a flowchart of another method for obtaining information abouta service chain according to an embodiment of the present disclosure;

FIG. 6 is a schematic structural diagram of a network element accordingto an embodiment of the present disclosure;

FIG. 7 is a schematic structural diagram of another network elementaccording to an embodiment of the present disclosure;

FIG. 8 is a schematic structural diagram of a service control proxyapparatus according to an embodiment of the present disclosure; and

FIG. 9 is a schematic structural diagram of a service control proxyapparatus according to an embodiment of the present disclosure.

DESCRIPTION OF EMBODIMENTS

To make the purpose, technical solutions, and advantages of theembodiments of the present disclosure clearer, the following clearlydescribes the technical solutions of the embodiments of the presentdisclosure with reference to the accompanying drawings in theembodiments of the present disclosure.

FIG. 2 provides a schematic architectural diagram of an NFV system 200according to an embodiment of the present disclosure. The NFV system 200is configured to obtain, in a cloud computing system, information abouta physical service chain for transmitting data of a service in a mobilenetwork. Specifically, in this embodiment of the present disclosure, anexisting NFV architecture is used as a basis, and a service controlproxy apparatus is added to an NFV platform, to exchange informationabout a service chain with a VNF of a traffic controller, so as totrigger an NFVO to select an instance of the service chain. In addition,the service control proxy apparatus is further responsible forexchanging the information about the physical service chain with anunderlying SDN controller. In addition, in this embodiment of thepresent disclosure, a correspondence between an address of a virtualcontroller and an identifier of a path instance is further stored in aVIM.

Specifically, to achieve the objective of the present disclosure, theschematic architectural diagram provided in this embodiment of thepresent disclosure includes the following functional components: anetwork functions virtualization orchestrator (NFVO) 202, a virtualizednetwork function manager (VNFM) 204, a virtualized infrastructuremanager (VIM) 206, multiple virtualized network functions (VNFs) 208, anetwork functions virtualization infrastructure (NFVI), and anoperations support system and business support system (OSS/BSS) 224.

The NFVO 202 is mainly responsible for lifecycle management of avirtualized service, allocating and scheduling a virtual resource in thevirtualization infrastructure NFVI, and the like. The NFVO 202 maycommunicate with one or more VNFM 204, to execute a resource-relevantrequest, send configuration information to the VNFM 204, and collectstatus information of the VNF 208. In addition, the NFVO 202 may alsocommunicate with the VIM 206, to allocate and/or reserve a resource, andexchange configuration information and status information of a virtualhardware resource.

The VNFM 204 is responsible for lifecycle management of one or moreVNFs, for example, responsible for instantiating, updating, querying,scaling, or terminating the VNF 208. The VNFM 204 may communicate withthe VNF 208 to complete lifecycle management of the VNF and exchange ofconfiguration information and status information. An NFV architecturemay include multiple VNFMs that are responsible for performing lifecyclemanagement on different types of VNFs. The NFVO 202 may select anddetermine different VNFMs 204 for different VNFs 208 according toservice types for which the VNFMs are responsible.

A service control proxy apparatus 2041 may be located in the VNFM 204,or may be independent from the VNFM 204. The service control proxyapparatus 2041 is configured to exchange the information about theservice chain with the VNF of the traffic controller, and trigger theNFVO to select the instance of the service chain. The service controlproxy apparatus is also responsible for exchanging the information aboutthe physical service chain with an underlying SDN controller. The VIM206 controls and manages interaction between the VNF 208 and computinghardware 212, storage hardware 214, network hardware 216, virtualcomputing 218, a virtual storage 220, and a virtual network 222. Forexample, the VIM 206 executes a resource management function, includingan infrastructure resource management function, an allocation function(for example, addition of a virtual resource to a virtual container),and an operational function (for example, collection of faultinformation of the NFVI). The VNFM 204 and the VIM 206 may communicatewith each other, to request resource allocation and exchangeconfiguration information and status information of a virtual hardwareresource. In addition, information about the identifier of the pathinstance, an address of each node in a path, a rank of each node in thepath, and a corresponding address of a virtual controller is furtherstored in the VIM 206.

The NFVI is an NFV infrastructure layer and includes a hardwarecomponent, a software component, or a combination thereof, so as tocreate a virtualization environment and deploy, manage, and implementthe VNF 208. A virtualization layer of a hardware resource is used toprovide virtual resources, for example, virtual machines VMs and avirtual container in another form, to the VNF 208. The hardware resourceincludes the computing (computing) hardware 212, the storage hardware214, and the network hardware 216. In an implementation, resources ofthe computing hardware 212 and the storage hardware 214 maybe pooled(pooled) together. The virtualization layer in the NFVI may abstract thehardware resource, and decouple the VNF 208 from an underlying physicalnetwork layer. The virtual resource includes the virtual computing 218(for example, virtual machines, VMs), the virtual storage 220, and thevirtual network 222. The virtual computing 218 and the virtual storage220 are provided to the VNF 208 in a form of VMs and/or other virtualcontainers by using a system hypervisor (a hypervisor or a containerruntime). For example, one or more VNFs 208 may be deployed on one VM.The virtualization layer abstracts the network hardware 216 to form thevirtual network 222. The virtual network 222 includes a virtual switch(Vswitch) 2221 and a virtual controller 2222. The virtual switch 2221provides connections between VMs and/or other virtual containers thathold VNFs. The virtual controller 2222 may interact with the servicecontrol proxy apparatus to control routing of the VNF 208. For example,for a service in a mobile network, routing of the VNF 208 is controlledby using an SDN technology.

The multiple virtualized network functions (VNFs) 208 are configured tobe virtualization of at least one network function. The VNF 208 may be avirtualized provider edge (PE) node, and is configured to provide all PEnetwork functions on a non-virtualized PE device, for example, a router,a switch, a bridge, a server, or a cloud computing system. Each VNF runsin one virtual container, and corresponds to one group of networkfunctions that belong to one or more physical devices.

The operations support system and business support system (OSS /BSS) 224supports various end-to-end telecommunication services. Managementfunctions supported by the OSS include network configuration, serviceprovisioning, fault management, and the like. The BSS processes anorder, payment, revenue, and the like, and supports product management,order management, revenue management, and customer management.

A VNF entity may be a computer apparatus. In addition, because the VNFentity is virtualization of one or more network functions, andcorresponds to a network function of one or more physical networkelements, the VNF entity is also referred to as a virtualized networkelement.

FIG. 3 is a flowchart of a method for obtaining information about aservice chain according to an embodiment of the present disclosure. Themethod includes the following steps.

Step 301: An OSS/BSS sends a service chain decision device instantiationrequest to an NFVO. The service chain decision device instantiationrequest is used to request the NFVO to generate an instance used for aservice chain decision network element, and request the NFVO to allocatea resource to the service chain decision device, so that the servicechain decision device can run in a virtualized environment.

Specifically, the service chain decision device may be a VNF networkelement of the traffic controller or a PCRF network element or anotherelement in FIG. 2. The service chain decision device is a networkelement that provides an identifier of a service chain to the virtualcontroller (for example, a virtual SDN controller) in the virtualnetwork in FIG. 2. In this embodiment of the present disclosure, anexample in which the service chain decision device is a trafficcontroller is used for description.

Further, the service chain decision device instantiation request carriesan identifier of a VNFD (VNF Descriptor) describing the service chaindecision device. The VNFD is used to describe a VNF, for example,describe a function of the VNF and a requirement for instantiation ofthe VNF. In this embodiment of the present disclosure, the identifier ofthe VNFD of the service chain decision device is an identifier of thetraffic controller.

Step 302: The NFVO receives the service chain decision deviceinstantiation request, obtains a VNFD of the service chain decisiondevice according to an identifier, in the request, of the VNFD of theservice chain decision device, and then selects a VNFM according to theobtained VNFD.

Further, the NFVO determines, according to the obtained VNFD, whetherthe VNFD includes a requirement for a service control proxy apparatus(for example, a requirement for an SDN proxy). When the NFVO determinesthat the VNFD includes a requirement for a service control proxyapparatus, the NFVO selects, for the service chain decision device, aVNFM that includes a service control proxy apparatus. When determiningthat the VNFD does not include a requirement for a service control proxyapparatus, the NFVO may select, for the service decision networkelement, a VNFM that includes a service control proxy apparatus or aVNFM that does not include a service control proxy apparatus. In thisembodiment of the present disclosure, an example in which the NFVOdetermines that the VNFD includes a requirement for a service controlproxy apparatus is used for description.

For example, that the NFVO determines, according to the obtained VNFD,whether the VNFD includes a requirement for a service control proxyapparatus maybe specifically: determining, by the NFVO, whether platformrequirements in the VNFD include a parameter of a service control proxyapparatus (for example, an SDN proxy). If the NFVO determines that theplatform requirements in the VNFD include a parameter of a servicecontrol proxy apparatus, the NFVO determines that the VNFD of theservice decision network element includes a requirement for a servicecontrol proxy apparatus. After determining that the VNFD includes arequirement for a service control proxy apparatus, the NFVO selects, forthe service decision network element, a VNFM that includes a servicecontrol proxy apparatus.

Specifically, information included in the VNFD of the service chaindecision device is shown in Table 2.

TABLE 2 Identity Description ID Identifier of the VNFD Vendor Providerproviding the VNF VDU (virtualization deployment Information about arequirement unit) of a virtual computing unit for a resource, forexample, requirements of the virtual computing unit for resources suchas a CPU and a storage Platform requirements: SDN proxy Requirement foran SDN proxy

One VNFD may include one or more VDU parameters. One VDU parametercorresponds to one virtual computing unit. If a VNF includes multiplevirtual computing units, each virtual computing unit needs to correspondto one VDU parameter in the VNFD.

Step 303: The NFVO sends a request for instantiating a VNF of a servicechain decision device to the selected VNFM that includes a servicecontrol proxy apparatus, where the request for instantiating a VNF of aservice chain decision device includes the identifier of the VNFD instep 301.

In an optional manner, the service control proxy apparatus may be anentity independent from the VNFM. In step 302, after obtaining the VNFDof the service chain decision network element, the NFVO may select, forthe service chain decision device, a VNFM that does not include aservice control proxy apparatus, and select a service control proxyapparatus for the service chain decision device. Then, the NFVO sendsthe request for instantiating a VNF of a service chain decision deviceto the selected VNFM that does not include a service control proxyapparatus. The request that is for instantiating a VNF of a servicechain decision device and that is sent to the VNFM that does not includea service control proxy apparatus includes an identifier of the selectedservice control proxy apparatus. The identifier of the service controlproxy apparatus may be an address of the service control proxyapparatus.

Step 304: After receiving the request that is for instantiating a VNF ofa service chain decision device and that is sent by the NFVO, the VNFMexecutes, according to the VNFD of the service chain decision device, aprocedure of instantiating the service chain decision device.

Specifically, the VNFM in this step is a VNFM that includes a servicecontrol proxy apparatus.

Specifically, for a procedure in which after obtaining the request thatis for instantiating a VNF of a service chain decision device and thatis sent by the NFVO, the VNFM obtains the VNFD according to theidentifier of the VNFD and instantiates the service chain decisiondevice according to the obtained VNFD, refer to the prior art. Detailsare not described herein in this embodiment of the present disclosure.

In an optional manner, the VNFM may obtain the VNFD from a databaseaccording to the identifier of the VNFD. Specifically, the database maybe located in the NFVO, or may be independent from the NFVO.

Step 305: The VNFM configures a lifecycle management parameter for theinstance of the service chain decision device.

For example, an IP address, a running program script, and a parameter inthe script that are required for the service chain decision device areconfigured. This is not described in detail and not limited herein inthis embodiment of the present disclosure.

In an optional manner, if the VNFM does not include a service controlproxy apparatus, in this step, in the process of configuring thelifecycle management parameter for the instance of the service chaindecision device after the service chain decision device is instantiated,the VNFM further needs to configure the address of the service controlproxy apparatus for the instance of the service chain decision deviceaccording to the identifier of the service control proxy apparatus thatis carried in the request that is for instantiating a VNF of a servicechain decision device and that is from the NFVO in step 503. Therefore,when determining to obtain information that is about a physical servicechain and that is used to transmit service data, the service chaindecision device sends a path forwarding identifier to the servicecontrol proxy apparatus according to the configured address of theservice control proxy apparatus. After receiving the path forwardingidentifier, the service control proxy apparatus eventually sends theobtained information about the physical service chain to the servicechain decision device.

It should be noted that, steps 301 to 305 are described for completenessof the solution, and are not essential steps for implementing thisembodiment of the present disclosure. Especially, in step 302, if allVNFMs support a service control proxy apparatus, implementations ofsteps 301 to 305 are the same as those in the prior art. When none ofthe VNFMs includes a service control proxy apparatus, and all servicecontrol proxy apparatuses are independent from all the VNFMs, step 302is further used to select a service control proxy apparatus, and theaddress of the service control proxy apparatus is configured for theinstance of the service chain decision device in step 305.

Step 306: After receiving data of a service in a mobile network, theservice chain decision device obtains a path forwarding identifier fortransmitting the service data, and then, the service chain decisiondevice sends, to a service control proxy apparatus (for example, an SDNproxy), the path forwarding identifier of a path used to transmit theservice data.

Specifically, the service chain decision device sends, by using theVNFM, the path forwarding identifier to the service control proxyapparatus included in the VNFM.

Specifically, the path forwarding identifier may be represented in NFVby using a forwarding path ID. The forwarding path ID is used toidentify a logical service chain. For example, the path forwardingidentifier is video optimization.

It should be noted that, an example in which the service chain decisiondevice is a traffic controller is used for description in thisembodiment. If the service chain decision device is a PCRF, the PCRF mayselect the path forwarding identifier for data according to another NFVnetwork element (for example, a type (for example, a video stream or acommon web page access, where it is assumed that the type is a videostream in this example) of the service data sent by a network elementthat performs a function of a gateway, subscriber information, and atype of a network carrying the data (for example, 3G or Long TermEvolution (LTE)). Specifically, the PCRF may obtain a subscriptioninformation table, shown in Table 3, of a subscriber according to thesubscriber information, and select the path forwarding identifier: videooptimization according to the subscription information table of thesubscriber, the type (3G) of the network carrying the data, and the type(video) of the data.

TABLE 3 Data Network Path forwarding Subscriber type type identifierIMSI: 46001x Video 3G Video optimization IMSI: 46001x Web 3G HTTP

Then, the PCRF sends the selected path forwarding identifier to a VNF ofa traffic controller network element.

If the traffic controller network element is used as the service chaindecision device, the service chain decision device may also obtain, fromthe PCRF network element, the path forwarding identifier fortransmitting the data. A method for selecting an identifier of a logicalservice chain by the PCRF is the same as the description above (or thesame as the prior art), and details are not described herein again.

307: The service control proxy apparatus receives the path forwardingidentifier that is of the path used to transmit the service data andthat is sent by the service chain decision device, and sends a pathinstance allocation request message to the NFVO, where the path instanceallocation request message carries the forwarding path ID.

Specifically, the service control proxy apparatus may send the pathinstance allocation request message to the NFVO by using an interface ofthe VNFM.

For example, the path instance allocation request message may be a queryNFP message. That is, the service control proxy apparatus requests, byusing the query NFP message, the NFVO to allocate a path instance whoseforwarding path ID is video optimization to the service chain decisiondevice, and obtains information about the allocated path instance. Thequery NFP message may be a new extended message on a network servicelifecycle management interface, and the query NFP message includes theforwarding path ID.

Step 308: The NFVO returns, to the service control proxy apparatus,information about a path instance, or information about a path instanceand information about a VIM managing the path instance.

Specifically, after receiving the path instance allocation requestmessage that is sent by the VNFM, the NFVO may obtain, according to theforwarding path ID from a database that stores instances, theinformation that is about the path instance and that corresponds to theforwarding path ID, and obtain, according to the obtained informationabout the path instance, the information about the VIM managing the pathinstance.

If the NFVO obtains at least two path instances that correspond to theforwarding path ID, the NFVO selects one path instance from the obtainedpath instances. Specifically, a method for selecting one path instancefrom the obtained path instances by the NFVO may be selecting aninstance with the least load in the instances. This is not limited andnot described in detail in the present disclosure.

The NFVO returns the information about the selected path instance to theservice control proxy apparatus. Specifically, the NFVO may return theinformation to the service control proxy apparatus by using the VNFM.The information about the path instance includes the path forwardingidentifier, an identifier of the path instance, an address of each nodein the path, a rank of each node in the path, and the like.

For example, the information about the path instance selected by theNFVO is shown in Table 4.

TABLE 4 Path Identifier of forwarding the path Addresses and sequence ofidentifier instance nodes Video Video 1 10.10.1.1 -> 10.10.2.2 ->optimization 10.10.4

In the information about the addresses and sequence of the nodes, thesequence of the nodes may be represented by using an arrow, or may berepresented by using another symbol and number. For example, a nodewhose node address is 10.10.1.1 is the first node in the path, a nodewhose node address is 10.10.2.2 is the second node in the path, and anode whose node address is 10.10.4 is the third node in the path.

Specifically, representation of the addresses of the nodes in the pathand the rank of each node in the path belongs to the prior art, and isnot limited and not further described in detail herein in thisembodiment of the present disclosure.

It should be noted that, steps 307 and 308 are used as specificimplementations of obtaining, by the service control proxy apparatus,the information that is about the path instance and that corresponds tothe path forwarding identifier.

309. The service control proxy apparatus sends a request for obtainingan address of a virtual controller (for example, an SDN controller) tothe NFVO, where the request for obtaining an address of a virtualcontroller (for example, an SDN controller) carries an identifier of thepath instance selected by the NFVO.

Further, the request for obtaining an address of a virtual controllermay further carry the information about the VIM managing the selectedpath instance.

310. The NFVO receives the request that is for obtaining an address of avirtual controller and that is sent by the service control proxyapparatus, and sends the request for obtaining an address of a virtualcontroller to the VIM responsible for managing the path instance, wherethe request for obtaining an address of a virtual controller carries theidentifier of the path instance selected by the NFVO.

Specifically, if the request for obtaining an address of a virtualcontroller carries the information about the VIM managing the selectedpath instance, the NFVO sends the request for obtaining an address of avirtual controller to the VIM indicated by the information about the VIMmanaging the selected path instance. If the request for obtaining anaddress of a virtual controller does not carry the information about theVIM managing the selected path instance, the NFVO further needs to firstobtain, according to the information about the path instance selected bythe NFVO in step 308, the information about the VIM managing theselected path instance, and then send the request for obtaining anaddress of a virtual controller to the VIM indicated by the informationabout the VIM managing the selected path instance.

311. The VIM returns an address of a virtual controller managing thepath instance to the NFVO.

Specifically, the VIM stores a correspondence between a path instanceand an address of a virtual controller managing the path instance.

For example, the correspondence that is between information of aninstance and an address of a virtual controller and that is stored inthe VIM is shown in Table 5.

TABLE 5 Addresses Instance Instance and sequence identifier type ofnodes Network Video 1 Video 10.10.1.1 -> Address of a 10.10.2.2 ->virtual 10.10.4 controller

The VIM may obtain, according to the received identifier of the pathinstance, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance, and then return theaddress of the virtual controller to the NFVO.

In an optional solution, the request for obtaining an address of avirtual controller in step 310 carries the addresses and sequence of thenodes in the path instance selected by the NFVO. In step 311, afterreceiving the request that is for obtaining an address of a virtualcontroller and that is sent by the service control proxy apparatus, theVIM may obtain the address that is of the virtual controller and thatcorresponds to the identifier of the path instance. The identifier ofthe path instance corresponds to the address of each node in the pathand the rank of each node in the path.

In another optional solution, the request for obtaining an address of avirtual controller in step 310 carries the identifier of the pathinstance and the addresses and sequence of the nodes. In step 311, afterreceiving the request that is for obtaining an address of a virtualcontroller and that is sent by the service control proxy apparatus, theVIM may obtain the address of the virtual controller according to acorrespondence between an identifier of a path instance and an addressof a virtual controller.

312. The NFVO receives the address of the virtual controller that isreturned by the VIM, and sends the received address of the virtualcontroller (for example, a virtual SDN controller) to the servicecontrol proxy apparatus.

It should be noted that, steps 309 to 312 are used as specificimplementations of obtaining, by the service control proxy apparatus,the address that is of the virtual controller and that corresponds tothe identifier of the path instance.

313. The service control proxy apparatus receives the address of thevirtual controller that is sent by the NFVO, and sends a physicalservice chain identifier obtaining request to the virtual controller(for example, an SDN controller) by using the information that is aboutthe path instance and that is received in step 308, where theinformation about the path instance is, for example, the identifier ofthe path instance and an IP address of each node in the path and therank of each node in the path.

Specifically, the physical service chain identifier obtaining requestcarries the address (for example, an IP address) of each node in thepath and the rank of each node in the path.

314. After receiving the physical service chain identifier obtainingrequest that is sent by the service control proxy apparatus, the virtualcontroller sends an identifier of a physical service chain to theservice control proxy apparatus in the VNFM.

Specifically, the virtual controller generates information about thephysical service chain according to the received address (for example,the IP address) of each node in the path and the received rank of eachnode in the path. The information about the physical service chainincludes information about the identifier of the physical service chain,the rank of each node, and the address of each node. Then, the virtualcontroller sends the information about the identifier of the physicalservice chain, the rank of each node, and the address of each node tothe service control proxy apparatus. For example, the information aboutthe physical service chain may be a forwarding and routing table, asshown in Table 6.

TABLE 6 Physical service chain identifier Rank Next-hop address 10 310.10.1.1 10 2 10.10.2.2 10 1 10.10.4.4

In addition, in an optional manner, the virtual controller may returnonly the identifier of the physical service chain corresponding to theidentifier of the path instance, and then, the virtual controller sendsthe identifier of the physical service chain and the address and therank of each node in Table 3 to the service chain decision device.

It should be noted that, steps 313 and 314 are specific implementationsof obtaining, by the service control proxy apparatus, the identifier ofthe physical service chain from the virtual controller according to theaddress of the virtual controller.

315. After receiving the identifier that is of the physical servicechain and that is sent by the virtual controller, the service controlproxy apparatus sends the received information about the physicalservice chain to the service chain decision device, where theinformation about the physical service chain is used to instruct toroute and forward the data of the service in the mobile network.

Specifically, a traffic controller further adds a new packet header toeach received data packet. The packet header includes the identifier ofthe physical service chain and a first rank in the received routing andforwarding table. The first rank indicates a rank in the first row inthe routing and forwarding table.

For example, according to the routing and forwarding table shown inTable 6, the service traffic controller adds a new packet header to areceived data packet. Information in the packet header includes anidentifier 10 of a physical service chain and a rank 3.

In another optional manner, the service control proxy apparatus may beindependent from the VNFM.

FIG. 5 is a flowchart of a method for obtaining information about aservice chain in a cloud computing system according to an embodiment ofthe present disclosure. Specifically, a service control proxy apparatusin a procedure in this embodiment of the present disclosure may beincluded in a VNFM, or may be independent from a VNFM. This is notlimited in this embodiment of the present disclosure. This embodiment ofthe present disclosure includes the following steps.

Step 501: The service control proxy apparatus receives a path forwardingidentifier that is of a path used to transmit data of a service in amobile network and that is sent by a service chain decision device.

Step 502: The service control proxy apparatus obtains information thatis about a path instance and that corresponds to the path forwardingidentifier, where the information about the path instance includes anidentifier of the path instance.

Specifically, after receiving the path forwarding identifier, theservice control proxy apparatus sends a path instance allocation requestmessage to a network functions virtualization orchestrator NFVO. Thepath instance allocation request message carries the path forwardingidentifier.

After receiving the path instance allocation request message, the NFVOreturns the information about the path instance to the service controlproxy apparatus. The information about the path instance includes theidentifier that is of the path instance and that corresponds to the pathforwarding identifier, an address of each node in the path, and a rankof each node in the path. In an optional solution, the NFVO may furthersend information about a virtualized infrastructure manager VIM managingthe path instance to the service control proxy apparatus.

Step 503: The service control proxy apparatus obtains an address that isof a virtual controller and that corresponds to the identifier of thepath instance.

Specifically, the service control proxy apparatus may send a request forobtaining an address of a virtual controller to the NFVO. The requestfor obtaining an address of a virtual controller carries the identifierof the path instance and the information about the VIM. The NFVO sends,according to the information about the VIM managing the path instance,the request for obtaining an address of a virtual controller to the VIMmanaging the path instance. After receiving the request that is forobtaining an address of a virtual controller and that carries theidentifier of the path instance, the VIM obtains, according to storedinformation, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance, and then sends theaddress of the virtual controller to the NFVO, and the NFVO sends theaddress of the virtual controller to the service control proxyapparatus.

In an optional solution, the request for obtaining an address of avirtual controller carries the identifier of the path instance, but doesnot include the information about the VIM. After receiving the requestfor obtaining an address of a virtual controller, the NFVO obtains,according to the identifier of the path instance, the information aboutthe VIM managing the selected path instance. Then, the NFVO sends,according to the information about the VIM managing the path instance,the request for obtaining an address of a virtual controller to the VIMmanaging the path instance. After receiving the request that is forobtaining an address of a virtual controller and that carries theidentifier of the path instance, the VIM obtains, according to storedinformation, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance, and then sends theaddress of the virtual controller to the NFVO, and the NFVO sends theaddress of the virtual controller to the service control proxyapparatus.

In another optional solution, the service control proxy apparatus maysend the request for obtaining an address of a virtual controller to theNFVO. The request for obtaining an address of a virtual controllercarries the address of each node in the path, the rank of each node inthe path, and the information about the VIM. The NFVO sends, accordingto the information about the VIM managing the path instance, the requestfor obtaining an address of a virtual controller to the VIM managing thepath instance. After receiving the request that is for obtaining anaddress of a virtual controller and that carries the identifier of thepath instance, the VIM obtains, according to stored information, theaddress that is of the virtual controller and that corresponds to theidentifier of the path instance. The identifier of the path instancecorresponds to the address of each node in the path and the rank of eachnode in the path. Then, the VIM sends the address of the virtualcontroller to the NFVO, and the NFVO sends the address of the virtualcontroller to the service control proxy apparatus.

In another optional solution, the request for obtaining an address of avirtual controller carries the address of each node in the path, therank of each node in the path, and the information about the VIM, butdoes not include the information about the VIM. After receiving therequest for obtaining an address of a virtual controller, the NFVOobtains, according to the identifier of the path instance, theinformation about the VIM managing the selected path instance. Then, theNFVO sends, according to the information about the VIM managing the pathinstance, the request for obtaining an address of a virtual controllerto the VIM managing the path instance. After receiving the request thatis for obtaining an address of a virtual controller and that carries theidentifier of the path instance, the VIM obtains, according to storedinformation, the address that is of the virtual controller and thatcorresponds to the identifier of the path instance. The identifier ofthe path instance corresponds to the address of each node in the pathand the rank of each node in the path. Then, the VIM sends the addressof the virtual controller to the NFVO, and the NFVO sends the address ofthe virtual controller to the service control proxy apparatus.

Step 504: The service control proxy apparatus obtains, from the virtualcontroller according to the address of the virtual controller,information that is about a physical service chain and that correspondsto the identifier of the path instance, where the information about thephysical service chain includes an identifier of the physical servicechain, information about an address of each node in the physical servicechain, and a rank of each node in the physical service chain.

Specifically, the service control proxy apparatus sends a physicalservice chain identifier obtaining request to the virtual controlleraccording to the address of the virtual controller. The physical servicechain identifier obtaining request carries the address of each node inthe path and the rank of each node in the path.

The virtual controller receives the physical service chain identifierobtaining request that is sent to the virtual controller by the servicecontrol proxy apparatus, generates the identifier of the physicalservice chain according to the address of each node in the path and therank of each node in the path that are carried in the request, and sendsthe identifier of the physical service chain to the service controlproxy apparatus.

The service control proxy apparatus receives the identifier that is ofthe physical service chain and that is sent by the virtual controller.

Step 505: The service control proxy apparatus sends the informationabout the physical service chain to the service chain decision device,where the information about the physical service chain is used toinstruct to route and forward the data of the service in the mobilenetwork.

In the foregoing solution, a service control proxy apparatus in thisembodiment of the present disclosure may interact with a service chaindecision network element to receive a path forwarding identifier that isof a path used to transmit data of a service in a mobile network andthat is sent by the service chain decision device; interact with an NFVOto obtain an address of a virtual controller; then interact with thevirtual controller to obtain information about a physical service chainfrom the virtual controller; and send the information about the physicalservice chain to the service chain decision device. In this way, in acloud computing system, routing information is provided to implementtransmission of service data of a service in a mobile network.

FIG. 4 is a flowchart of storing a VNF descriptor of a trafficcontroller according to an embodiment of the present disclosure. Thefollowing steps are included.

Step 401: An OSS/BSS sends a request for storing a VNF descriptor (VNFD)of a VNF of a traffic controller to an NFVO, where the storing requestincludes the VNFD of the traffic controller, and the VNFD includes anidentifier of the VNFD of the traffic controller.

Specifically, the storing request is mainly used to store the VNFD in adatabase by using the NFVO. When there is subsequently an operationrequest related to the VNF, for example, a traffic controllerinstantiation request, only an identifier of a VNFD of the VNF needs tobe carried. The NFVO searches for, according to the identifier of theVNFD, information that is about the VNFD and that is stored in thedatabase, and completes a required operation according to theinformation about the VNFD. For example, the VNFD is the VNFD of thetraffic controller. The traffic controller in this embodiment needs tobe deployed as a VNF network element, and information about a servicechain needs to be dynamically exchanged with a virtual controller in anNFVI after service data is received. Therefore, when the OSS/BSS deploysthe VNF, an NFV platform needs to have a capability of providing aservice control proxy apparatus (for example, an SDN proxy). Therefore,the VNFD of the traffic controller further includes information about arequirement for the SDN proxy.

For example, the VNFD may be described in the TOSCA language, forexample,

-   -   flowRouterVNF123:        -   type: tosca.nodes.nfv.VNF.router        -   properties:            -   Scaling_methodology:            -   Flavour_ID:            -   Threshold:            -   Auto-scale policy value:            -   PlatfromRequirements:                -   SDN proxy            -   artifacts:                -   software_image

Specifically, flowRouterVNF123 is the identifier of the VNFD.

That a type of the VNF is a router is defined by “type:tosca.nodes.nfv.VNF.router”.

Parameters of the VNF are defined by “properties”. For example, theparameters may include a scaling methodology “Scaling_methodology”, adeployment flavor “Flavour_ID”, a scaling threshold “Threshold”, anauto-scale policy value “Auto-scale policy value”, and the like. Theseparameters are not limited in this embodiment of the present disclosure,and are not described one by one. Further, in this embodiment of thepresent disclosure, the parameter platform requirements“PlatfromRequirements” is further added to the VNFD to describe arequirement for the platform. “SDN Proxy” indicates that the platformneeds to have a capability of providing an SDN proxy, for example, theplatform needs to include a service control proxy apparatus.

The parameter “artifacts” is used to carry all images required to deploythe VNF. The images include software having a function of the VNF andthe like.

Step 402: The NFVO determines that information about the VNFD iscorrect, for example, determines that each parameter in the VNFD can berecognized and various requirements can be satisfied, and stores theinformation about the VNFD in a database.

Specifically, in this embodiment of the present disclosure, the databasemaybe configured inside the NFVO, or may be independent from the NFVO.This is not limited in this embodiment of the present disclosure.

Step 403: Complete storage of the information about the VNFD in thedatabase.

Step 404: The NFVO sends, to the OSS/BSS, a response indicating that theon-board request is successfully completed.

FIG. 6 is a schematic structural diagram of a network element 600 usedas a service control proxy apparatus according to an embodiment of thepresent disclosure. The network element is configured to transmit orprocess data in the NFV system shown in FIG. 2. The network element 600may include one or more ports 608 coupled to a transceiver 606. Thetransceiver 606 may be a transmitter, a receiver, or a combinationthereof, and sends a data packet to or receives a data packet fromanother network node by using the port 608. A processor 602 is coupledto the transceiver 606, and is configured to process a data packet. Theprocessor 602 may include one or more multi-core processors and/or amemory 604. The processor 602 may be a general-purpose processor, anapplication-specific integrated circuit (ASIC), or a digital signalprocessor (DSP).

The memory 604 may be a non-transitory storage medium, is coupled to theprocessor 602, and is configured to store different types of data. Thememory 604 may include a read-only memory (ROM), a random access memory(RAM), or another type of dynamic storage device that can storeinformation and an instruction, or may be a magnetic disk memory. Thememory 604 may be configured to store an instruction for implementing anNFV system or a related method. It can be understood that, an executableinstruction may be programmed or loaded onto at least one of theprocessor 602, a cache, or a long-term memory of the network element600.

The network element 600 may execute one or more instructions accordingto this embodiment of the present disclosure to obtain information abouta service chain. These instructions may be stored in the memory 604, ormay be integrated in a kernel or a plug-in of a kernel of an operatingsystem of the network element.

In another embodiment, the network element 600 is used as a servicecontrol proxy apparatus, and includes the memory 604, the processor 602,the transceiver 606, and the one or more ports 608 coupled to thetransceiver. The memory 604 is configured to store computer executableprogram code. The processor 602 is coupled to the memory 604 and thetransceiver 606.

The program code includes an instruction. When the processor executesthe instruction, the instruction enables the network element to performthe following operations:

-   -   receiving a path forwarding identifier that is of a path used to        transmit service data and that is sent by a service chain        decision device;    -   obtaining information that is about a path instance and that        corresponds to the path forwarding identifier, where the        information about the path instance includes an identifier of        the path instance;    -   obtaining an address that is of a virtual controller and that        corresponds to the identifier of the path instance;    -   obtaining an identifier of a physical service chain from the        virtual controller according to the address of the virtual        controller; and    -   sending information about the physical service chain to the        service chain decision device, where the information about the        physical service chain includes the identifier of the physical        service chain, an address of each node in the path, and a rank        of each node in the path, and the information about the physical        service chain is used to instruct to route and forward the        service data.

For specific implementations of the operations performed by theprocessor included in the foregoing network element used as a servicecontrol proxy apparatus, refer to the corresponding steps performed bythe service control proxy apparatus in the embodiments in FIG. 2 to FIG.5. Details are not described again in this embodiment of the presentdisclosure.

FIG. 7 is a schematic structural diagram of a network element used as anNFVO according to an embodiment of the present disclosure. The networkelement 700 may include one or more ports 708 coupled to a transceiver706. The transceiver 706 may be a transmitter, a receiver, or acombination thereof, and sends a data packet to or receives a datapacket from another network node by using the port 708. A processor 702is coupled to the transceiver 706, and is configured to process a datapacket. The processor 702 may include one or more multi-core processorsand/or a memory 704. The processor 702 may be a general-purposeprocessor, an application-specific integrated circuit (applicationspecific integrated circuit, ASIC), or a digital signal processor (DSP).

The memory 704 may be a non-transitory storage medium, is coupled to theprocessor 702, and is configured to store different types of data. Thememory 704 may include a read-only memory (ROM), a random access memory(RAM), or another type of dynamic storage device that can storeinformation and an instruction, or may be a magnetic disk memory. Thememory 704 may be configured to store an instruction for implementing anNFV system or a related method. It can be understood that, an executableinstruction may be programmed or loaded onto at least one of theprocessor 702, a cache, or a long-term memory of the network element700.

In another embodiment, the network element 700 is used as an NFVO, andincludes the memory 704, the processor 702, the transceiver 706, and theone or more ports 708 coupled to the transceiver. The memory 704 isconfigured to store computer executable program code. The processor 702is coupled to the memory 704 and the transceiver 706.

The program code includes an instruction. When the processor executesthe instruction, the instruction enables the network element to performthe following operations:

-   -   receiving a path instance allocation request message that is        sent by a service control proxy apparatus, where the path        instance allocation request message carries the path forwarding        identifier;    -   returning information about a path instance to the service        control proxy apparatus, where the information about the path        instance includes an identifier that is of the path instance and        that corresponds to the path forwarding identifier, an address        of each node in the path, and a rank of each node in the path;    -   receiving a request that is for obtaining an address of a        virtual controller and that is sent by the service control proxy        apparatus, where the request for obtaining an address of a        virtual controller carries the identifier of the path instance;    -   sending the request for obtaining an address of a virtual        controller to a virtualized infrastructure manager VIM managing        the path instance indicated by the identifier of the path        instance;    -   receiving an address of a virtual controller that is returned by        the VIM; and    -   sending the address of the virtual controller to the service        control proxy apparatus, where the address of the virtual        controller is used to indicate the virtual controller that        provides an identifier of a physical service chain.

For specific implementations of the operations performed by theprocessor included in the foregoing network element used as an NFVO,refer to the corresponding steps performed by the service control proxyapparatus in the embodiments in FIG. 2 to FIG. 5. Details are notdescribed again in this embodiment of the present disclosure.

FIG. 8 is a simplified functional block diagram of a service controlproxy apparatus in an NFV system. The service control proxy apparatus isconfigured to obtain information about a service chain.

The service control proxy apparatus includes a receiving unit 801, anobtaining unit 802, and a sending unit 803.

The receiving unit 801 is configured to receive a path forwardingidentifier that is of a path used to transmit service data and that issent by a service chain decision device. The obtaining unit 802 isconfigured to: obtain information that is about a path instance and thatcorresponds to the path forwarding identifier, where the informationabout the path instance includes an identifier of the path instance, anaddress of each node in the path, and a rank of each node in the path;obtain an address that is of a virtual controller and that correspondsto the identifier of the path instance; and obtain an identifier of aphysical service chain from the virtual controller according to theaddress of the virtual controller, the address of each node in the path,and the rank of each node in the path. The sending unit 803 isconfigured to send information about the physical service chain to theservice chain decision device, where the information about the physicalservice chain includes the identifier of the physical service chain, theaddress of each node in the path, and the rank of each node in the path,and the information about the physical service chain is used to instructto route and forward the service data.

Optionally, that the obtaining unit 802 obtains the information that isabout the path instance and that corresponds to the path forwardingidentifier specifically includes: sending a path instance allocationrequest message to a network functions virtualization orchestrator NFVO,where the path instance allocation request message carries the pathforwarding identifier; and receiving the information that is about thepath instance and that is returned by the NFVO.

Optionally, the receiving unit 801 is further configured to receiveinformation that is about a virtualized infrastructure manager VIMmanaging the path instance and that is sent by the NFVO.

That the obtaining unit obtains the address that is of the virtualcontroller and that corresponds to the identifier of the path instanceincludes:

-   -   sending a request for obtaining an address of a virtual        controller to the NFVO, where the request for obtaining an        address of a virtual controller carries the identifier of the        path instance and the information about the VIM, and the        information about the VIM is used to indicate the VIM that        provides the address that is of the virtual controller and that        corresponds to the identifier of the path instance; and        receiving the address of the virtual controller that is sent by        the NFVO; or    -   sending a request for obtaining an address of a virtual        controller to the NFVO, where the request for obtaining an        address of a virtual controller carries the address of each node        in the path, the rank of each node in the path, and the        information about the VIM, the information about the VIM is used        to indicate the VIM that provides the address that is of the        virtual controller and that corresponds to the identifier of the        path instance, and the identifier of the path instance        corresponds to the address of each node in the path and the rank        of each node in the path; and receiving the address of the        virtual controller that is sent by the NFVO.

Optionally, that the obtaining unit 802 obtains the address that is ofthe virtual controller and that corresponds to the identifier of thepath instance specifically includes:

-   -   sending a request for obtaining an address of a virtual        controller to the NFVO, where the request for obtaining an        address of a virtual controller carries the identifier of the        path instance, and the request for obtaining an address of a        virtual controller is used for instructing the NFVO to obtain,        according to the identifier of the path instance, information        about a VIM managing the path instance, and obtain, from the VIM        indicated by the information about the VIM, the address that is        of the virtual controller and that corresponds to the identifier        of the path instance; and receiving the address of the virtual        controller that is sent by the NFVO; or    -   sending a request for obtaining an address of a virtual        controller to the NFVO, where the request for obtaining an        address of a virtual controller carries the address of each node        in the path and the rank of each node in the path, the request        for obtaining an address of a virtual controller is used for        instructing the NFVO to obtain information about a VIM managing        the path instance that includes the address of each node in the        path and the rank of each node in the path, and obtain, from the        VIM indicated by the information about the VIM, the address that        is of the virtual controller and that corresponds to the        identifier of the path instance, and the identifier of the path        instance corresponds to the address of each node in the path and        the rank of each node in the path; and receiving the address of        the virtual controller that is sent by the NFVO.

Optionally, that the obtaining unit 802 obtains the identifier of thephysical service chain from the virtual controller according to theaddress of the virtual controller, the address of each node in the path,and the rank of each node in the path specifically includes: sending aphysical service chain identifier obtaining request to the virtualcontroller according to the address of the virtual controller, where thephysical service chain identifier obtaining request carries the addressof each node in the path and the rank of each node in the path; andreceiving the identifier that is of the physical service chain and thatis sent by the virtual controller.

FIG. 9 is a simplified functional block diagram of an NFVO in an NFVsystem. The NFVO is configured to obtain information about a servicechain.

The NFVO includes a receiving unit 901, a sending unit 902, an obtainingunit 903, a determining unit 904, and a selection unit 905.

The receiving unit 901 is configured to receive a path instanceallocation request message that is sent by a service control proxyapparatus, where the path instance allocation request message carriesthe path forwarding identifier.

The sending unit 902 is configured to return information about a pathinstance to the service control proxy apparatus, where the informationabout the path instance includes an identifier that is of the pathinstance and that corresponds to the path forwarding identifier, anaddress of each node in the path, and a rank of each node in the path.

The receiving unit 901 is further configured to receive a request thatis for obtaining an address of a virtual controller and that is sent bythe service control proxy apparatus, where the request for obtaining anaddress of a virtual controller carries the identifier of the pathinstance.

The sending unit 902 is further configured to send the request forobtaining an address of a virtual controller to a virtualizedinfrastructure manager VIM managing the path instance indicated by theidentifier of the path instance.

The receiving unit 901 is further configured to receive an address of avirtual controller that is returned by the VIM.

The sending unit 902 is further configured to send the address of thevirtual controller to the service control proxy apparatus, where theaddress of the virtual controller is used to indicate the virtualcontroller that provides an identifier of a physical service chainaccording to the address of each node in the path and the rank of eachnode in the path.

Optionally, before the receiving unit 901 receives the request that isfor obtaining an address of a virtual controller and that is sent by theservice control proxy apparatus, the sending unit 902 further returnsinformation about the VIM managing the path instance to the servicecontrol proxy apparatus, where the request for obtaining an address of avirtual controller further carries the information about the VIMmanaging the path instance.

That the sending unit 902 sends the request for obtaining an address ofa virtual controller to the VIM managing the path instance specificallyincludes: sending, according to the information about the VIM managingthe path instance, the request for obtaining an address of a virtualcontroller to the VIM managing the path instance.

Optionally, the NFVO further includes the obtaining unit 903, configuredto obtain, according to the identifier of the path instance, informationabout the VIM managing the selected path instance.

That the sending unit 902 sends the request for obtaining an address ofa virtual controller to the VIM managing the path instance specificallyincludes: sending, according to the information about the VIM managingthe path instance, the request for obtaining an address of a virtualcontroller to the VIM managing the path instance.

Optionally, the receiving unit 901 is further configured to receive aservice chain decision device instantiation request, where the servicechain decision device instantiation request carries an identifier of aVNF descriptor VNFD of a service chain decision device.

Optionally, the obtaining unit 903 is further configured to obtain theVNFD according to the identifier of the VNFD.

The determining unit 904 is configured to determine, according to theVNFD, that the VNFD includes a requirement for a service control proxyapparatus. The selection unit 905 is configured to select, for theservice chain decision device, a VNFM that includes a service controlproxy apparatus.

The sending unit 902 is further configured to send the service chaindecision device instantiation request to the selected VNFM that includesa service control proxy apparatus.

Optionally, the receiving unit 901 is further configured to receive aservice chain decision device instantiation request, where the servicechain decision device instantiation request carries an identifier of aVNF descriptor VNFD of a service chain decision device.

The determining unit 904 is configured to determine, according to theVNFD, that the VNFD includes a requirement for a service control proxyapparatus. The selection unit 905 is configured to select, for theservice chain decision device, a service control proxy apparatus and aVNFM that does not include a service control proxy apparatus.

The sending unit 902 is further configured to send the service chaindecision device instantiation request to the selected VNFM that does notinclude a service control proxy apparatus, where the service chaindecision device instantiation request that is sent to the VNFM furtherincludes an identifier of the selected service control proxy apparatus,and the identifier of the selected service control proxy apparatus isused to instruct the VNFM to configure, after the service chain decisiondevice is instantiated, an address of the service control proxyapparatus for an instance of the service chain decision device accordingto the identifier of the service control proxy apparatus.

For specific implementations of the operations performed by the unitsincluded in the foregoing service control proxy apparatus, refer to thecorresponding steps performed by the service control proxy apparatus inthe embodiments in FIG. 3 to FIG. 5. Details are not described again.For specific implementations of the operations performed by the unitsincluded in the foregoing NFVO, refer to the corresponding stepsperformed by the NFVO in the embodiments in FIG. 3 to FIG. 5. Detailsare not described again.

It should be noted that the service control proxy apparatus in FIG. 8and the NFVO in FIG. 9 are presented in the form of functional units.The term “unit” used in this specification may be, if not limited, anapplication-specific integrated circuit (ASIC), an electronic circuit, a(shared, dedicated, or combined) processor and memory, or acombinatorial logic circuit that executes one or more software orfirmware programs, and/or another suitable component that provides thefunction.

Persons of ordinary skill in the art should understand that all or somesubject matters in this application may be implemented in softwarecombined with hardware and/or firmware. For example, the subject mattersdescribed in this specification may be implemented in software executedin one or more processors. In an example implementation, the subjectmatters described in this specification maybe implemented by using anon-transitory computer readable medium that stores a computerexecutable instruction. When a computer processor executes the computerexecutable instruction, the instruction controls the computer to performsteps. An example of a computer readable medium suitable forimplementing the subject matters described in this specificationincludes a non-transitory computer readable medium such as a magneticdisk memory device, a chip memory device, a programmable logic device,or an application-specific integrated circuit. In addition, the computerreadable medium that implements the subject matters described in thisspecification may be located on a single device or computing platform,or may be distributed on multiple devices or computing platforms.

Finally, it should be noted that the foregoing embodiments are merelyintended for describing the technical solutions of the presentdisclosure, but not for limiting the present disclosure. Although thepresent disclosure is described in detail with reference to theforegoing embodiments, persons of ordinary skill in the art shouldunderstand that they may still make modifications to the technicalsolutions described in the foregoing embodiments or make equivalentreplacements to some technical features thereof, without departing fromthe scope of the technical solutions of the embodiments of the presentdisclosure.

What is claimed is:
 1. A method for obtaining information about aservice chain in a cloud computing system, the method comprising:receiving a path forwarding identifier of a path used to transmitservice data that is sent by a service chain decision device; obtaininginformation about a path instance that corresponds to the pathforwarding identifier, wherein the information about the path instancecomprises an identifier of the path instance, an address of each node inthe path, and a rank of each node in the path; obtaining an address of avirtual controller that corresponds to the identifier of the pathinstance; obtaining an identifier of a physical service chain from thevirtual controller according to the address of the virtual controller,the address of each node in the path, and the rank of each node in thepath; and sending information about the physical service chain to theservice chain decision device for instructing the service chain decisiondevice to route and forward the service data, wherein the informationabout the physical service chain comprises the identifier of thephysical service chain, the address of each node in the path, and therank of each node in the path.
 2. The method according to claim 1,wherein obtaining information about a path instance that corresponds tothe path forwarding identifier comprises: sending a path instanceallocation request message to a network functions virtualizationorchestrator (NFVO), wherein the path instance allocation requestmessage carries the path forwarding identifier; and receiving theinformation about the path instance that is returned by the NFVO.
 3. Themethod according to claim 2, wherein: the method further comprises:receiving information about a virtualized infrastructure manager VIMmanaging the path instance that is sent by the NFVO; and obtaining anaddress of a virtual controller that corresponds to the identifier ofthe path instance comprises: sending a request for obtaining an addressof a virtual controller to the NFVO, wherein the request for obtainingan address of a virtual controller carries the identifier of the pathinstance and the information about the VIM, the information about theVIM for indicating the VIM that provides the address of the virtualcontroller that corresponds to the identifier of the path instance, andreceiving the address of the virtual controller sent by the NFVO; orsending a request for obtaining an address of a virtual controller tothe NFVO, wherein the request for obtaining an address of a virtualcontroller carries the address of each node in the path, the rank ofeach node in the path, the information about the VIM, the informationabout the VIM for indicating the VIM that provides the address of thevirtual controller that corresponds to the identifier of the pathinstance, and the identifier of the path instance corresponds to theaddress of each node in the path and the rank of each node in the path,and receiving the address of the virtual controller sent by the NFVO. 4.The method according to claim 2, wherein obtaining an address of avirtual controller that corresponds to the identifier of the pathinstance comprises: sending a request for obtaining an address of avirtual controller to the NFVO, wherein the request for obtaining anaddress of a virtual controller carries the identifier of the pathinstance, the request for obtaining an address of a virtual controllerfor instructing the NFVO to obtain, according to the identifier of thepath instance, information about a VIM managing the path instance, andto obtain, from the VIM indicated by the information about the VIM, theaddress of the virtual controller that corresponds to the identifier ofthe path instance, and receiving the address of the virtual controllersent by the NFVO; or sending a request for obtaining an address of avirtual controller to the NFVO, wherein the request for obtaining anaddress of a virtual controller carries the address of each node in thepath and the rank of each node in the path, the request for obtaining anaddress of a virtual controller for instructing the NFVO to obtaininformation about a VIM managing the path instance that comprises theaddress of each node in the path and the rank of each node in the path,and to obtain, from the VIM indicated by the information about the VIM,the address of the virtual controller that corresponds to the identifierof the path instance, and the identifier of the path instancecorresponds to the address of each node in the path and the rank of eachnode in the path, and receiving the address of the virtual controllersent by the NFVO.
 5. The method according to claim 1, wherein obtainingan identifier of a physical service chain from the virtual controlleraccording to the address of the virtual controller, the address of eachnode in the path, and the rank of each node in the path comprises:sending a physical service chain identifier obtaining request to thevirtual controller according to the address of the virtual controller,wherein the physical service chain identifier obtaining request carriesthe address of each node in the path and the rank of each node in thepath; and receiving the identifier of the physical service chain that issent by the virtual controller.
 6. A method for obtaining informationabout a service chain in a cloud computing system, the methodcomprising: receiving a path instance allocation request message sent bya service control proxy apparatus, wherein the path instance allocationrequest message carries a path forwarding identifier; returninginformation about a path instance to the service control proxyapparatus, wherein the information about the path instance comprises anidentifier of the path instance that corresponds to the path forwardingidentifier, an address of each node in a path, and a rank of each nodein the path; receiving a request for obtaining an address of a virtualcontroller that is sent by the service control proxy apparatus, whereinthe request for obtaining an address of a virtual controller carries (i)the identifier of the path instance or (ii) the address of each node inthe path and the rank of each node in the path; sending the request forobtaining an address of a virtual controller to a virtualizedinfrastructure manager (VIM) managing the path instance indicated by theidentifier of the path instance; receiving an address of a virtualcontroller returned by the VIM; and sending the address of the virtualcontroller to the service control proxy apparatus for indicating thevirtual controller that provides an identifier of a physical servicechain according to the address of each node in the path and the rank ofeach node in the path.
 7. The method according to claim 6, wherein:before receiving a request for obtaining an address of a virtualcontroller that is sent by the service control proxy apparatus, themethod comprises: returning information about the VIM managing the pathinstance to the service control proxy apparatus, wherein the request forobtaining an address of a virtual controller further carries theinformation about the VIM managing the path instance; and sending therequest for obtaining an address of a virtual controller to a VIMmanaging the path instance comprises: sending, according to theinformation about the VIM managing the path instance, the request forobtaining an address of a virtual controller to the VIM managing thepath instance.
 8. The method according to claim 6, wherein: the methodfurther comprises: obtaining, according to the identifier of the pathinstance, information about the VIM managing the selected path instance;and sending the request for obtaining an address of a virtual controllerto a VIM managing the path instance comprises: sending, according to theinformation about the VIM managing the path instance, the request forobtaining an address of a virtual controller to the VIM managing thepath instance.
 9. The method according to claim 6, further comprising:receiving a service chain decision device instantiation request thatcarries an identifier of a virtualized network function descriptor(VNFD) of a service chain decision device; obtaining the VNFD accordingto the identifier of the VNFD; determining, according to the VNFD, theVNFD comprises a requirement for a service control proxy apparatus;selecting, for the service chain decision device, a virtualized networkfunction manager (VNFM) that comprises a service control proxyapparatus; and sending the service chain decision device instantiationrequest to the selected VNFM that comprises a service control proxyapparatus.
 10. The method according to claim 6, further comprising:receiving a service chain decision device instantiation request, whereinthe service chain decision device instantiation request carries anidentifier of a virtualized network function descriptor (VNFD) of aservice chain decision device; obtaining the VNFD according to theidentifier of the VNFD; determining, according to the VNFD, the VNFDcomprises a requirement for a service control proxy apparatus;selecting, for the service chain decision device, a service controlproxy apparatus and a virtualized network function manager (VNFM) thatdoes not comprise a service control proxy apparatus; and sending theservice chain decision device instantiation request to the selected VNFMthat does not comprise a service control proxy apparatus, wherein theservice chain decision device instantiation request sent to the VNFMfurther comprises an identifier of the selected service control proxyapparatus for instructing the VNFM to configure, after the service chaindecision device is instantiated, an address of the service control proxyapparatus for an instance of the service chain decision device accordingto the identifier of the service control proxy apparatus.
 11. A networkelement, comprising: a transceiver; a processor coupled to thetransceiver; and a memory coupled to the processor and configured tostore computer executable program code comprising instructions which,when executed by the processor, cause the network element to: receive apath forwarding identifier of a path used to transmit service data thatis sent by a service chain decision device, obtain information about apath instance that corresponds to the path forwarding identifier,wherein the information about the path instance comprises an identifierof the path instance, an address of each node in the path, and a rank ofeach node in the path, obtain an address of a virtual controller thatcorresponds to the identifier of the path instance, obtain an identifierof a physical service chain from the virtual controller according to theaddress of the virtual controller, the address of each node in the path,and the rank of each node in the path, and send information about thephysical service chain to the service chain decision device forinstructing the service chain decision device to route and forward theservice data, wherein the information about the physical service chaincomprises the identifier of the physical service chain, the address ofeach node in the path, and the rank of each node in the path.
 12. Anetwork element, comprising: A transceiver; A processor coupled to thetransceiver; a memory coupled to the processor and configured to storecomputer executable program code comprising instructions which, whenexecuted by the processor, cause the network element to: receive a pathinstance allocation request message sent by a service control proxyapparatus, wherein the path instance allocation request message carriesthe path forwarding identifier, return information about a path instanceto the service control proxy apparatus, wherein the information aboutthe path instance comprises an identifier of the path instance thatcorresponds to the path forwarding identifier, an address of each nodein the path, and a rank of each node in the path, receive a request forobtaining an address of a virtual controller that is sent by the servicecontrol proxy apparatus, wherein the request for obtaining an address ofa virtual controller carries the identifier of the path instance, sendthe request for obtaining an address of a virtual controller to avirtualized infrastructure manager (VIM) managing the path instanceindicated by the identifier of the path instance, receive an address ofa virtual controller returned by the VIM, and send the address of thevirtual controller to the service control proxy apparatus for indicatingthe virtual controller that provides an identifier of a physical servicechain according to the address of each node in the path and the rank ofeach node in the path.